@headerHeight:	153px;
@navWidth:		230px;

body {
	background: url(../img/gray_jean.png);
	height: 100%;
}

body, div, td, p, li {
	.light;
}

strong {
	.bold;
}

h1, h2, h4, h5 {
	.bold;
}

h3 {
	.light;
}

a, button, .select li {
	text-decoration: none;
	//.transition(all, @aniOut);

	&:hover {
		//.transition(all, @aniIn);
	}
}

.noselect {
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

.noclear {
	clear: none !important;
}

/* Frame work */

label, input, textarea, select, .select, .checkbox {
	font-size: 1.4em;
	color: @grey;
	float: left;

	&:focus {
		outline: none;
		border: 1px solid #666;
	}

	&.dynamic {
		float: none;
		width: 60px !important;
		display: inline-block;
		background: none;
		color: #fff;
		border-color: #333;
		text-align: right;

		&:hover, &:focus {
			background: #222;
			border-color: #666;
		}
	}
}

label {
	.bold;
	clear: both;
	width: 200px;
	margin-right: 20px;
	text-align: right;
	padding: 10px 0px;
}

input, textarea, select, .select, .checkbox {
	border: 1px solid #ddd;
	background: #fff;
	padding: 10px;
	width: 240px;
	margin-bottom: 8px;
	.boxShadow(0, 0, 0, 2px, rgba(0,0,0,0.1));
	.rounded(4px);

	&.input-date {
		width: 90px;
	}

	&.input-mins, &.input-hours {
		width: 20px;
	}

	&.disabled, &:disabled {
		border: 1px solid #fff;
		background: #efefef;
		.boxShadow(0, 0, 0, 2px, rgba(0,0,0,0.05));
	}
}

input[readonly] {
	border-color: #eee;
	color: #999;
}

textarea {
	resize: none;
	height: 80px;
}

button, .button {
	.light;
	font-size: 1.4em;
	color: #fff;
	border: none;
	.boxShadow(0, 0, 0, 0, rgba(0,0,0,0));
	.rounded(4px);
	background: @grey;
	padding: 10px 40px;
	float: right;
	clear: both;

	&:hover {
		color: @grey;
		background: @yellow;
	}
}

.ui-spinner {
	float: left;
	.boxShadow(0, 0, 0, 2px, rgba(0,0,0,0.1));
	border: none;
	width: 260px;
	height: 34px;
	padding: 0px;
	margin-bottom: 8px;

	input {
		border: none !important;
		-webkit-box-shadow:	none;
		-moz-box-shadow: none;
		box-shadow: none;
		font-family: @sans !important;
		font-weight: 300 !important;
		font-size: 14px !important;
		//height: 14px;
		//padding: 10px;
		padding: 5px;
		color: @grey !important;
	}
}

.checkbox {
	width: 14px;
	height: 14px;
	padding: 8px;
	cursor: pointer;
	background: #fff;

	&.check {
		background: #fff url(../img/check.png) center center no-repeat;
	}
}

.select {
	position: relative;
	cursor: pointer;
	background: #fff url(../img/select-arrow.png) right center no-repeat;

	ul {
		display: none;
		.nolist;
		background: #fff;
		border: 1px solid #ddd;
		.rounded(4px);
		.boxShadow(2px, 2px, 6px, 0, rgba(0,0,0,0.1));
		position: absolute;
		top: 36px;
		left: 5px;
		z-index: 10;
		width: 100%;
		overflow: hidden;

		li {
			width: 100%;
			float: left;
			clear: both;
			padding: 5px 10px;
			font-size: 12px;
			cursor: pointer;


			&:hover {
				background: @grey;
				color: #fff;
			}
		}
	}
}

.modal {
	position: fixed;
	left: 0px;
	top: 0px;
	bottom: 0px;
	right: 0px;
	z-index: 999;
	background: url(../img/modal.png);
	display: none;
	color: @grey;

	.msg {
		padding: 20px;
		width: 260px;
		height: 120px;
		position: absolute;
		left: 50%;
		top: 50%;
		margin: -80px 0px 0px -150px;
		background: url(../img/gray_jean.png);
		border: 4px solid #fff;
		.rounded(8px);
		.boxShadow(0, 0, 0px, 8px, rgba(0,0,0,0.1));

		h2 {
			margin: 0px;
			font-size: 2.2em;
		}

		p {
			font-size: 1.4em;
		}
	}

	button#modal-confirm {
		font-size: 1.8em;
		position: absolute;
		bottom: 50%;
		right: 50%;
		margin: 0px -150px -80px 0px;
	}

	button#modal-cancel {
		font-size: 1.8em;
		position: absolute;
		bottom: 50%;
		left: 50%;
		margin: 0px 0px -80px -140px;
	}
}

.wrapper {
	float: left;
}

.main-header {
	position: relative;
	left: 0px;
	top: 0px;
	right: 0px;
	height: @headerHeight;
	background: url(../img/portal-logo.png) no-repeat 30px 30px;

	.time {
		position: absolute;
		right: 15px;
		top: 26px;
		font-size: 4.6em;
		color: @grey;
		text-align: right;
		line-height: 100%;
		letter-spacing: 3px;
		margin: 0px;
	}

	.date {
		position: absolute;
		right: 15px;
		top: 70px;
		font-size: 1.6em;
		color: @grey;
		text-align: right;
		line-height: 100%;
		margin: 0px;
		letter-spacing: 0px;
	}

	.menu {
		position: absolute;
		left: 245px;
		bottom: 30px;
		right: 15px;
		height: 30px;
		background: #ccc;

		nav {
			display: table;
			width: 100%;
			border-spacing: 1px;

			a {
				.bold;

				.count {
					background: #C23226;
					font-size: 0.8em !important;
					color: #fff;
					padding: 3px 6px 2px 6px;
					margin: -3px 0px -3px 0px;
					float: right;
					.rounded(@radius: 4px);
					.css-gradient(#DF554F, #C23226);
				}

				&:hover {
					color: #fff;
					border-color: #333;
					background: #333 none;

					img {
						background: url(../img/glyphicons-halflings-white.png) no-repeat;
					}
				}
			}

			a, div {
				background: url(../img/gray_jean.png);
				border: 1px solid #fff;
				padding: 8px 7px 6px 7px;
				margin: 0px 0px 0px 1px;
				font-size: 1.2em;
				line-height: 100%;
				text-decoration: none;
				color: #333;
				display: table-cell;

				img {
					float: left;
					width: 14px;
					height: 14px;
					background: url(../img/glyphicons-halflings.png) no-repeat;
					margin: -1px 7px -1px 0px;
				}

				&.welcome {
					img { background-position: -168px 0px !important; }
				}
				&.settings {
					width: 80px;
					img { background-position: -360px -144px !important; }
				}
				&.alerts {
					width: 100px;
					img { background-position: 0px -120px !important; }
				}
				&.messages {
					width: 120px;
					img { background-position: -240px -121px !important; }
				}
				&.logout {
					width: 80px;
					img { background-position: -336px -96px !important; }
				}
			}
		}
	}
}

.main-nav {
	position: absolute;
	left: 0px;
	top: @headerHeight;
	bottom: 0px;
	width: @navWidth;
	background: url(../img/classy_fabric.png);//noisy_net.png);
	overflow: auto;
	overflow-x: hidden;

	h2 {
		font-size: 1.4em;
		color: @yellow;
		margin: 15px 0px 13px 30px;
		text-transform: uppercase;
	}
	
	a {
		float: left;
		width: 177px;
		color: #fff;
		padding: 15px 0px 13px 33px;
		margin: 0px 0px 0px 20px;
		position: relative;
		.bold;
		font-size: 1.4em;
		font-weight: normal;
		text-transform: uppercase;
		text-decoration: none;
		
		img {
			position: absolute;
			background: url(../img/glyphicons-halflings-white.png) no-repeat;
			width: 14px;
			height: 14px;
			position: absolute;
			left: 10px;
			top: 15px;
			
			&.dashboard { background-position: 0px -24px !important; }
			&.subscriptions { background-position: -240px -24px !important; }
			&.invoices { background-position: -360px -48px !important; }
			&.individuals { background-position: -168px 0px !important; }
			&.companies { background-position: -432px -144px !important; }
			&.spaces { background-position: -216px -0px !important; }
			&.services { background-position: 0px 0px !important; }
			&.bookings { background-position: -192px -120px !important; }
		}

		&:hover, &.selected {
			color: #333;
			background: url(../img/gray_jean.png);
			.boxShadow(-3px, 3px, 4px, 0, rgba(0,0,0,0.2));

			img {
				background: url(../img/glyphicons-halflings.png) no-repeat;
			}
		}
	}
}

.main-body {
	position: absolute;
	left: @navWidth;
	right: 0px;
	top: @headerHeight;
	bottom: 0px;

	p, h1, h2, h3, h4, h5 {
		margin: 0px 0px 10px 0px;
		color: @grey;
		float: left;
		clear: both;
	}

	h1 {
		font-size: 3.2em;
	}

	h2 {
		font-size: 2.2em;
	}

	h3 {
		font-size: 2.4em;
	}

	h4 {
		font-size: 1.4em;
		//.roman;
		text-transform: uppercase;
		padding-bottom: 4px;
		color: @blue;
		border-bottom: 1px solid #ddd;
		width: 100%;

		&.cost {
			width: auto;
			clear: none;
			padding-top: 10px;

			.price {
				color: @grey;
				font-size: 1.1em;
			}
		}
	}

	h5 {
		font-size: 1.4em;
		text-transform: uppercase;
		color: @yellow;
		width: 100%;
	}

	p {
		font-size: 1.4em;
		line-height: 1.3em;
		margin: 0px 0px 15px 0px;
		color: #333;

		&.sep {
			.bold;
			clear: none;
			font-size: 1.8em;
			padding: 6px 0px 0px 0px;
			margin: 0px 8px;
		}

		&.small {
			font-size: 1.2em;
			padding-top: 12px;
		}
	}

	a {
		color: @blue;
		.roman;

		&:hover {
			color: @grey;
		}
	}

	.event-red {
		background-color: #ff0000;
		border-color: #cc0000;
		color: #ffffff;
	}

	.tag {
		font-size: 0.8em;
		color: #fff;
		.bold;
		.rounded(3px);
		padding: 5px;
		background: #ff0000;

		&.yes {
			background: #238C00;
		}
	}

	.wrapper {
		position: absolute;
		left: 15px;
		right: 15px;
		top: 0px;
		bottom: 15px;
		overflow: auto;

		section {
			border: 1px solid #ddd;
			background: url(../img/cream_dust.png);
			padding: 10px;
			margin-top: 10px;
			overflow: auto;

			&.user {
				padding: 24px;
			}

			&.content {

			}

			h2 {
				color: @blue;
				float: left;
			}

			.add_new {
				float: right;
				background: @blue;
				color: #fff;
				.bold;
				text-decoration: none;
				font-size: 1.4em;
				padding: 6px 10px;
				.rounded(4px);
				clear: none;

				img {
					background: url(../img/glyphicons-halflings-white.png) -409px -95px no-repeat;
					width: 14px;
					height: 14px;
				}
			}

			.breadcrumbs {
				float: left;
				clear: both;
				.bold;
				width: 100%;
				background: #fff;//url(../img/noisy_net.png);
				border-top: 1px solid #ddd;
				margin: 0px 0px -10px -10px;
				padding: 10px;

				a {
					color: #333;
					text-decoration: none;
					font-size: 1.2em;
					background: url(../img/breadcrumbs-arrow.png) left center no-repeat;
					padding: 0px 10px 0px 15px;

					&:first-child {
						background: none;
						padding-left: 0px;
						padding-right: 7px;
						width: 14px;

						img {
							width: 14px;
							height: 14px;
							background: url(../img/sprites.png) -188px -91px no-repeat;
						}
					}
				}
			}

			&:first-child {
				margin-top: 0px;
			}

			.table-header {
				list-style: none;
				display: block;
				margin: 0px;
				padding: 0px;
				border: 1px solid #c3c3c3;
				border-bottom: none;
				background: #F4F4F4;
				height:30px;

				li {
					padding: 9px;
					margin: 0px;
				}

				.icon {
					width: 12px;
					height: 12px;
					background: url(../img/tmp_icon.png) center center no-repeat;
					float: left;
					border-right: 1px solid #c3c3c3;
				}

				.num-items {
					float: right;
					border-left: 1px solid #c3c3c3;

					select {
						height: 12px;
						padding: 2px;
						margin: -9px 0px -9px 0px;
					}
				}
			}

			.table {
				width: 100%;
				border: 1px solid #c3c3c3;
				*border-collapse: collapse; /* IE7 and lower */
				border-spacing: 0;

				thead {
					.css-gradient(#F4F4F4, #e3e3e3);

					th {
						padding: 8px;
						color: #666;
						font-size: 1.2em;
						text-align: center;
						border-left: 1px solid #c3c3c3;
						.roman;
						
						&:first-child {
							border: none;
						}

						&.sort-down, &.sort-up {
							.css-gradient(#e3e3e3, #F4F4F4);
						}

						&.sort-down {
							background: #e3e3e3 url(../img/sort-up.png) no-repeat right center;
						}

						&.sort-up {
							background: #e3e3e3 url(../img/sort-down.png) no-repeat right center;
						}
					}
				}

				tbody {
					td {
						border-left: 1px solid #c3c3c3;
						border-top: 1px solid #c3c3c3;
						padding: 8px;
						font-size: 1.4em;
						line-height: 1.4em;

						&:firstchild {
							border-left: none;
						}

						&.functions {
							width: 14px;

							a {
								background: url(../img/sprites.png);
								width: 14px;
								height: 14px;
								margin: 2px;
								display: inline-block;

								img {
									width: 100%;
									height: 100%;
								}

								&.view {
									background-position: -33px -190px;
								}

								&.edit {
									background-position: -18px -50px;
								}

								&.delete {
									background-position: -95px -60px;	
								}
							}
						}
					}

					tr {
						background: #fff;

						&:hover {
							background: #ddd;
							cursor: pointer;
						}
					}

					.alt {
						background: #efefef;
					}
				}

				&.list-table-half {
					clear: left;
					width: 50%;
				}
			
				&.view-table {
					.label {
						background: #efefef;
						.bold;
					}

					tr:hover {
						background: #fff;
						cursor: default;
					}
				}

				&.select-table {
					border: none;
					float: left;
					margin-top: 14px;

					thead {
						background: @blue;

						th {
							padding: 8px;
							color: #fff;
							font-size: 1.2em;
							text-align: center;
							border: none;
							border-left: 1px solid #fff;
							.roman;
							
							&:first-child {
								border: none;
							}

							&.functions {
								background-color: #fff;
							}
						}
					}

					tbody {

						tr:hover {
							background: #fff;
							cursor: default;
						}

						.alt:hover {
							background: #efefef;
						}

						td {
							border: none;
							border-left: none;
							border-bottom: 1px solid @blue;

							&.functions {
								width: 100px;
								text-align: center;

								a {
									background: @blue;
									width: auto;
									display: block;

									&.subscribe {
										.light;
										color: #fff;
										line-height: 1em;
										border: none;
										.rounded(4px);
										background: @grey;
										padding: 10px;

										&:hover {
											color: @grey;
											background: @yellow;
										}
									}
								}

								.noclick {
									display: block;
									.light;
									color: @blue;
									line-height: 1em;
									border: none;
									.rounded(4px);
									background: #ddd;
									padding: 10px;
								}
							}
						}
					}
				}
			}

			#paygate_response {
				width: 100%;
				height: 540px;
				border: none;
				display: none;
			}

			.dark {
				margin: -24px -24px 20px -24px;
				padding: 24px;
				width: 100%;
				float: left;
				background: url(../img/classy_fabric.png);
				color: #fff;
				.innerShadow(0px, 0px, 12px, 0, rgba(0,0,0,0.5));
				float: left;

				p, h3 {
					color: #fff;
				}
			}

			.progress {
				.nolist;
				width: 100%;
				height: 10px;
				background: #222;
				border: 1px solid #111;
				float: left;
				position: relative;

				li {
					height: 10px;
					background: @blue;
					float: left;
					width: 1%;

					&.scrubber {
						position: absolute;
						z-index: 2;
						width: 20px;
						height: 20px;
						background: url(../img/slider-button.png);
						left: 0px;
						top: -5px;
						cursor: pointer;
					}
				}
			}

			.details {
				.nolist;
				margin-top: 20px;
				width: 100%;
				font-size: 1.4em;
				float: left;

				li {
					float: left;
					width: 50%;
					padding: 6px 0px;
					border-bottom: 1px solid #222;

					&.label {
						.roman;
						color: @yellow;
					}
				}

				&.grey {

					margin: 10px 0px 20px 0px;

					li {
						border-bottom: 1px solid #ccc;
					}
				}
			}

			.top-space {
				margin-top: 10px;
				width: 100%;
			}

			.time {
				.nolist;
				float: left;
				border: 1px solid #eee;
				width: 260px;
				padding: 2px 0px;

				li {
					float: left;
					padding: 4px;
					margin-left: 2px;
					width: 119px;
					border-bottom: 1px solid #ddd;

					&.last {
						border-bottom: none;
					}

					&:hover, &.booked {
						background-color: #59B200;
						color: #fff;
					}

					&.disabled {
						background-color: #D90000;
						color: #fff;
					}
				}
			}
		}
	}
}